package vistas.ui;

import java.awt.Component;
import java.awt.Graphics;
import java.awt.Insets;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URL;
import java.util.logging.Level;
import java.util.logging.Logger;

import javax.imageio.ImageIO;
import javax.swing.border.Border;

public class ImagenFondo implements Border {    
    
	BufferedImage imagenFondo;
    
    public ImagenFondo(){    
        try {       
            //Se obtiene la imagen            
            URL imagePath = new URL(getClass().getResource("PET1.png").toString());
            imagenFondo = ImageIO.read(imagePath);    
            
        } catch (IOException ex) {
            Logger.getLogger(ImagenFondo.class.getName()).log(Level.SEVERE, null, ex);
        }      
    }
    
    // Se sobreescriben metodos propios de Border
    
    public void paintBorder(Component c, Graphics g, int x, int y, int width, int height){     
        /*
         * Se dibuja la imagen de fondo en el contenedor, cada vez que se redimensione 
         * el contenedor, la imagen automaticamente se resicea en el centro
         */
    	// OPCION 1 (resize auto)
        g.drawImage(imagenFondo, 0, 0, width, height, null);
        // OPCION 2 (sin resize auto)
//    	g.drawImage(imagenFondo, (x + (width - imagenFondo.getWidth())/2),(y + (height - imagenFondo.getHeight())/2), null);
    }

    public Insets getBorderInsets(Component c) {
        return new Insets(0,0,0,0);
    }
 
    public boolean isBorderOpaque() {
        return false;
    }
}